* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background-color: #f4e7ec;
}

.container {
    display: flex;
    flex-direction: column;
}

.container label {
    display: flex;
    cursor: pointer;
}

.container label input {
    display: none;
}

.container label input+span {
    display: flex;
    padding: 15px 30px;
    margin-bottom: 10px;
    font-size: 40px;
    border-radius: 90px;
    align-items: center;
    transition: all .3s;
}

/* 鼠标移入变背景色 */
.container label input+span:hover {
    background-color: #edd8e0;
}

/* 选中单选按钮对应的 span 元素背景色改变 */
.container label input:checked ~ span {
    background-color: #edd8e0;
}

.container label input + span::before {
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    background-color: #fff;
    /* 盒子阴影 */
    box-shadow: 0 0 0 5px #900c3f inset;
    border-radius: 50%;
    margin-right: 15px;
    /* 设置过渡 */
    transition: all .3s;
}

.container label input:checked + span::before {
    /* 选中的元素内部阴影加深 */
    box-shadow: 0 0 0 15px #900c3f inset;
}
